Many computer-aided drawing programs allow users to draw on a digital canvas in a convenient freeform manner that displays the raw drawing strokes input by the user on the digital drawing canvas. Often, the user may prefer that their input drawing strokes be improved or altered to more accurately correspond to a desired regular form or basic geometric shape such as a line, triangle or rectangle. Existing solutions for improving drawing strokes classify the users input raw drawing strokes into known geometric objects like triangles, rectangles, pentagons, etc. and then render an idealized representation of the objects they believe the user is trying to create onto the screen. However, real world drawings are often freeform and comprised of numerous geometric primitives that do not readily correspond to recognizable and definable basic geometric shapes.